#!/bin/bash

###########################################
#安装 Airflow-2.6.3
###########################################

#安装基础依赖
yum install -y readline-devel gcc openssl-devel bzip2-devel libffi-devel zlib-devel ncurses-devel sqlite-devel tk-devel

#安装 Python 3.9
##################################################################################
#安装 pyenv
curl https://pyenv.run | bash
#更新环境变量（建议写入系统配置中）
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
#验证pyenv是否安装成功
pyenv --version
#使用 pyenv 安装 Python 3.9
pyenv install 3.9
#创建并激活虚拟环境
pyenv virtualenv 3.9 airflow-env
pyenv activate airflow-env
#更新pip
python -m pip install --upgrade pip


#安装 Airflow-2.6.3
##################################################################################
#安装 Pendulum 库（Pendulum 2.x 版本）
pip install "pendulum>=2.1.2,<3.0"
#安装 Flask-Session 库
pip install flask-session==0.4.0
#安装 connexion 库
pip install connexion==2.14.1
#安装 airflow-2.6.3
pip install apache-airflow==2.6.3


#############################################
#运行验证
#############################################
#查看版本信息
airflow version

#初始化数据库
airflow db init
#检查 SQLite 数据库文件是否生成
ls -la ~/airflow/airflow.db
#创建管理员用户
airflow users create \
    --username admin \
    --password admin \
    --firstname Admin \
    --lastname User \
    --role Admin \
    --email admin@example.com
#启动服务
airflow webserver -p 8080
#启动调度器
airflow scheduler

#验证
curl http://localhost:8080


